Melissa Crist

 

 

 

Graph Theory

 

BACKGROUND

 

DEFINITIONS

edges E(G) = {e1, e2, …, em}. The edges of G join any pair of vertices of G.

Note: Kn denotes the complete graph with n verticies.

 

Claim: A complete graph G with n verticies has n(n-1)/2 edges.

Proof: (by induction)

If n=1, then G has no edges. So 1(1-1)/2 = 0.

Now, suppose our claim holds for a particular number of verticies, say k. So if G has k verticies, then the number of edges in G is k(k-1)/2.

Now let’s look at G when we add one more vertex. In order to make it a complete graph we will have to add k edges to G. So now the number of edges in G will be:

k(k-1)/2 + k = [k(k-1) +2k]/2 = k(k+1)/2 = (k+1)(k+1-1)/2.

 

 

First Theorem of Graph Theory: The sum of the degrees of each vertex in a graph G is equal to twice the number of edges of G.

 

Note: a loop is a cycle of length 1.

 

 

Claim: If u and v are distinct verticies in G, then every walk from u to v contains a path from u to v.

Proof: (using stong induction). We want to prove that every walk W of length L from u to v contains a path from u to v.

If L = 1, the only edge of W is uv, so W is itself a path from u to v.

Now, suppose that L > 1 and our claim holds for all walks shorter than W. If W has no repeated vertex then it is already a path from u to v. If W does have a repeated vertex, then we can remove the edges and vertices of W that are between the appearances of the repeated vertex to obtain a shorter walk W’ from u to v contained in W. And by our induction hypothesis, W’ contains a path from u to v and we built it so it is contained in W.

 

aij = number of edges between vi and vj

aij = 0, if vi and vj are not adjacent

Note: A is a real symmetric matrix.

Note: For a simple graph,

    1. the diagonal entries of A are 0
    2. trace (A) = 0
    3. all entries off the diagonal are either 0 or 1.

Theorem: If A is the adjacency matrix of a simple graph G, then the ij-th entry aij(k) of the matrix Ak is equal to the number of walks of length k from vertex vi to vj.

 

Claim: If G is a k-regular graph, then k is an eigenvalue of A(G).

Proof: Since every vertex of G has an edge to k other verticies, the sum of each row of A(G) is equal to k. If we let u = [1 1 1 … 1]T, then Au = [k k k … k]T = ku, so k is an eigenvalue of A(G).

 

Note: So instead of saying two representations of a graph are equivalent, we say they are isomorphic.

Claim: Graph isomorphism is an equivalence relation.

Proof: Reflexive: the identity map on V(G) is an isomorphism from G to G.

So G » G.

Symmetric: if f is an isomorphism from G to H, then f -1 is an isomorphism from H to G, so G » H Þ H » G.

Transitive: if f is an isomorphism from G to H and y is an isomorphism from H to J, then the composition mapping f o y is a one-to-one and onto function from V(G) to V(J) that preserves the adjacency relation, therefore there exists an isomorphism from G to J. So G » H and H » J Þ G » J.

Claim: G » H if and only if G’ » H’.

Proof: (Þ )

G » H Þ there exists an isomorphism f : V(G) à V(H) such that vivj Î E(G) Þ f (vi)f (vj) Î E(H) [Eq. 1].

Note: V(G) = V(G’) and V(H) = V(H’), and

vivj Ï E(G) Þ f (vi)f (vj) Ï E(H) [Eq. 2].

We know vivj Ï E(G) Þ vivj Î E(G’) and f (vi)f (vj) Ï E(H) Þ f (vi)f (vj) Î E(H’).

Now we substitute equivalent statements into [Eq. 2] to get: vivj Î E(G’) Þ f (vi)f (vj) Î E(H’), so G’ » H’.

(Note: The proof of (Ü ) is very similar.)

APPLICATIONS

Method to find all paths (no repeated verticies) of length j from vertex r to vertex s, where r, s Î V(G).

Step 1: Construct a new matrix M1 from A(G) by replacing any non-zero diagonal entry by 0 (since we can’t have loops in a path), and replacing any non-zero ij-th entry by the string ij.

Step 2: Define a matrix M by removing the initial letter of each non-zero element of M1.

Step 3: Define a matrix product to generate the matrix Mj for all 1 < j < n that will tell us all the paths of length j in our graph G.

In simplest terms, Mj = Mj-1 M.

Given a weighted graph G, this algorithm finds the shortest path from a vertex v Î V(G) to every other vertex in G.

** Note: If you’re interested in seeing how this algorithm works, I suggest visiting

http://swww.ee.uwa.edu.au/~plsd210/ds/dijkstra.html.

Make a vertex for each course, where two vertices are adjacent if one student is in both courses. We have to assign exam periods to each vertex such that the endpoints of each edge receive different time periods. This is the idea behind the infamous graph coloring problem.

Note: c ( Kn ) = n.

Claim: c (Kn ;k) = k(k-1)…(k-n+1).

Proof: Since Kn is a complete graph, every vertex is adjacent to every other vertex. Coloring the verticies of Kn in some order tells us that we cannot color the ith vertex a color that has already been chosen, but there remain k-i+1 colors still available.

c (G;k) = å mk(G)uk , where mr(G) is the number of distinct partitions of V(G) you can get using k colors, and uk = k(k-1)(k-2)…(k-r+1).

Note: To find the number of ways we can color a graph G with a given number of colors available, we simply evaluate the polynomial c (G;k), which is a polynomial in k with integer coefficients.

 

Note: If e=uv Î E(G), then contraction of e (denoted G*e) involves replacing u and v by a single vertex whose edges are the edges ¹ e that were adjacent to u and/or v.

The simplest method of calculating the chromatic polynomial is recursively by the formula:

c (G;k) = c (G-e;k) - c (G*e;k)

REFERENCES

 

Biggs, Norman. Algebraic Graph Theory, Second Edition. Cambridge University Press, 1993.

Gibbons, Alan. Algorithmic Graph Theory. Cambridge University Press, 1985.

Shaffer, Clifford A. A Practical Introduction to Data Structures and Algorithm Analysis. Prentice Hall, 1997.

Watterson, Bill. Attack of the Deranged Mutant Killer Monster Snow Goons. Universal Press Syndicate, 1992.

West, Douglas B. Introduction to Graph Theory. Prentice Hall, 1996.

http://swww.ee.uwa.edu.au/~plsd210/ds/dijkstra.html

http://forgodot.new21.org/lecture/graph_theory/contents/Chromatic%20Polynomial.html